package com.mdc.mansion.dataaccess.modules.system.dao;


import com.mdc.mansion.dataaccess.common.persistence.CrudDao;
import com.mdc.mansion.dataaccess.common.persistence.annotation.MyBatisDao;
import com.mdc.mansion.dataaccess.modules.system.entity.User;

/**
 * cms管理员dao接口
 * @author chenmingdong
 * @version 2016-03-03
 */
@MyBatisDao
public interface UserDao extends CrudDao<User> {
	/**
	 * 根据登录名称查询用户
	 * @param user
	 * @return
	 */
    User getByLoginName(User user);
	 
	 /**
	  * 查询全部用户数目
	  * @return
	  */
	 long findAllCount(User user);
	 
	 /**
	  * 更新用户密码
	  * @param user
	  * @return
	  */
	 int updatePasswordById(User user);
	 
	 /**
	  * 更新登录信息，如：登录IP、登录时间
	  * @param user
	  * @return
	  */
	 int updateLoginInfo(User user);
	 
	 /**
	  * 删除用户角色关联数据
	  * @param user
	  * @return
	  */
	 int deleteUserRole(User user);
	 
	 /**
	  * 插入用户角色关联数据
	  * @param user
	  * @return
	  */
	 int insertUserRole(User user);
	 
	 /**
	  * 更新用户信息
	  * @param user
	  * @return
	  */
	 int updateUserInfo(User user);
}
